package domain.entities;// default package

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Countries entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "countries", catalog = "bms")
public class Countries implements java.io.Serializable {

	// Fields

	private Short countryId;
	private String country;
	private String fips104;
	private String iso2;
	private String iso3;
	private String ison;
	private String internet;
	private String capital;
	private String mapReference;
	private String nationalitySingular;
	private String nationalityPlural;
	private String currency;
	private String currencyCode;
	private Long population;
	private String title;
	private String comment;
    private String countryCode;

	// Constructors

	/** default constructor */
	public Countries() {
	}

	/** minimal constructor */
	public Countries(String country, String fips104, String iso2, String iso3,
			String ison, String internet) {
		this.country = country;
		this.fips104 = fips104;
		this.iso2 = iso2;
		this.iso3 = iso3;
		this.ison = ison;
		this.internet = internet;
	}

	/** full constructor */
	public Countries(String country, String fips104, String iso2, String iso3,
			String ison, String internet, String capital, String mapReference,
			String nationalitySingular, String nationalityPlural,
			String currency, String currencyCode, Long population,
			String title, String comment, Set<Regions> regionses,
			Set<Cities> citieses) {
		this.country = country;
		this.fips104 = fips104;
		this.iso2 = iso2;
		this.iso3 = iso3;
		this.ison = ison;
		this.internet = internet;
		this.capital = capital;
		this.mapReference = mapReference;
		this.nationalitySingular = nationalitySingular;
		this.nationalityPlural = nationalityPlural;
		this.currency = currency;
		this.currencyCode = currencyCode;
		this.population = population;
		this.title = title;
		this.comment = comment;
	}

    @Override
    public String toString() {
        return "Countries{" +
                "capital='" + capital + '\'' +
                '}';
    }

    // Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "CountryId", unique = true, nullable = false)
	public Short getCountryId() {
		return this.countryId;
	}

	public void setCountryId(Short countryId) {
		this.countryId = countryId;
	}

	@Column(name = "Country", nullable = false, length = 50)
	public String getCountry() {
		return this.country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	@Column(name = "FIPS104", nullable = false, length = 2)
	public String getFips104() {
		return this.fips104;
	}

	public void setFips104(String fips104) {
		this.fips104 = fips104;
	}

	@Column(name = "ISO2", nullable = false, length = 2)
	public String getIso2() {
		return this.iso2;
	}

	public void setIso2(String iso2) {
		this.iso2 = iso2;
	}

	@Column(name = "ISO3", nullable = false, length = 3)
	public String getIso3() {
		return this.iso3;
	}

	public void setIso3(String iso3) {
		this.iso3 = iso3;
	}

	@Column(name = "ISON", nullable = false, length = 4)
	public String getIson() {
		return this.ison;
	}

	public void setIson(String ison) {
		this.ison = ison;
	}

	@Column(name = "Internet", nullable = false, length = 2)
	public String getInternet() {
		return this.internet;
	}

	public void setInternet(String internet) {
		this.internet = internet;
	}

	@Column(name = "Capital", length = 25)
	public String getCapital() {
		return this.capital;
	}

	public void setCapital(String capital) {
		this.capital = capital;
	}

	@Column(name = "MapReference", length = 50)
	public String getMapReference() {
		return this.mapReference;
	}

	public void setMapReference(String mapReference) {
		this.mapReference = mapReference;
	}

	@Column(name = "NationalitySingular", length = 35)
	public String getNationalitySingular() {
		return this.nationalitySingular;
	}

	public void setNationalitySingular(String nationalitySingular) {
		this.nationalitySingular = nationalitySingular;
	}

	@Column(name = "NationalityPlural", length = 35)
	public String getNationalityPlural() {
		return this.nationalityPlural;
	}

	public void setNationalityPlural(String nationalityPlural) {
		this.nationalityPlural = nationalityPlural;
	}

	@Column(name = "Currency", length = 30)
	public String getCurrency() {
		return this.currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	@Column(name = "CurrencyCode", length = 3)
	public String getCurrencyCode() {
		return this.currencyCode;
	}

	public void setCurrencyCode(String currencyCode) {
		this.currencyCode = currencyCode;
	}

	@Column(name = "Population")
	public Long getPopulation() {
		return this.population;
	}

	public void setPopulation(Long population) {
		this.population = population;
	}

	@Column(name = "Title", length = 50)
	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	@Column(name = "Comment")
	public String getComment() {
		return this.comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}

    @Column(name = "countryCode", length = 10)
    public String getCountryCode() {
        return this.countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

}